<?php

class Tablas_model extends CI_Model {
    public function __construct() {
        $this->load->database();
    }
    
    public function get_general() {
        $query = $this->db->query("SELECT j.idJugadores, j.apodo, j.nombre, j.apellido, 
                                    (select count(*) from Partidos_Jugadores WHERE idJugadores = j.idJugadores AND idResultados = '1') as ganados, 
                                    (select count(*) from Partidos_Jugadores WHERE idJugadores = j.idJugadores AND idResultados = '2') as empatados, 
                                    (select count(*) from Partidos_Jugadores WHERE idJugadores = j.idJugadores AND idResultados = '3') as perdidos,  
                                    (((select count(*) from Partidos_Jugadores WHERE idJugadores = j.idJugadores AND idResultados = '1') * 3) +
                                    (select count(*) from Partidos_Jugadores WHERE idJugadores = j.idJugadores AND idResultados = '2')) as puntos, 
                                    (select count(*) from Partidos_Jugadores WHERE idJugadores = j.idJugadores) as jugados,
                                    ((((select count(*) from Partidos_Jugadores WHERE idJugadores = j.idJugadores AND idResultados = '1') * 3) +
                                    (select count(*) from Partidos_Jugadores WHERE idJugadores = j.idJugadores AND idResultados = '2')) / 
                                    (select count(*) from Partidos_Jugadores WHERE idJugadores = j.idJugadores)) as promedio,
                                    (select sum(golesF) from Partidos_Jugadores WHERE idJugadores = j.idJugadores) as golesF,
                                    (select sum(golesC) from Partidos_Jugadores WHERE idJugadores = j.idJugadores) as golesC
                                    from Partidos_Jugadores pj, Jugadores j WHERE pj.idJugadores = j.idJugadores group by j.apodo ORDER BY puntos DESC, promedio DESC, jugados DESC");
        return $query->result_array();
    }
    
    public function get_anio($anio) {
        $query = $this->db->query("select j.idJugadores, j.apodo, j.nombre, j.apellido, 
                                    (select count(*) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores AND idResultados = '1') as ganados, 
                                    (select count(*) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores AND idResultados = '2') as empatados, 
                                    (select count(*) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores AND idResultados = '3') as perdidos,  
                                    (((select count(*) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores AND idResultados = '1') * 3) +
                                    (select count(*) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores AND idResultados = '2')) as puntos, 
                                    (select count(*) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores) as jugados,
                                    ((((select count(*) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores AND idResultados = '1') * 3) +
                                    (select count(*) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores AND idResultados = '2')) / 
                                    (select count(*) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores)) as promedio,
                                    (select sum(golesF) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores) as golesF,
                                    (select sum(golesC) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores) as golesC
                                    from Partidos_Jugadores pj, Jugadores j, Partidos p WHERE p.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND pj.idJugadores = j.idJugadores GROUP BY j.apodo ORDER BY puntos DESC, promedio DESC, jugados DESC");

        return $query->result_array();
    }
    
    public function get_general_descenso() {
        $query = $this->db->query("SELECT j.idJugadores, j.apodo, j.nombre, j.apellido, 
                                    (select count(*) from Partidos_Jugadores WHERE idJugadores = j.idJugadores AND idResultados = '1') as ganados, 
                                    (select count(*) from Partidos_Jugadores WHERE idJugadores = j.idJugadores AND idResultados = '2') as empatados, 
                                    (select count(*) from Partidos_Jugadores WHERE idJugadores = j.idJugadores AND idResultados = '3') as perdidos,  
                                    (((select count(*) from Partidos_Jugadores WHERE idJugadores = j.idJugadores AND idResultados = '1') * 3) +
                                    (select count(*) from Partidos_Jugadores WHERE idJugadores = j.idJugadores AND idResultados = '2')) as puntos, 
                                    (select count(*) from Partidos_Jugadores WHERE idJugadores = j.idJugadores) as jugados,
                                    ((((select count(*) from Partidos_Jugadores WHERE idJugadores = j.idJugadores AND idResultados = '1') * 3) +
                                    (select count(*) from Partidos_Jugadores WHERE idJugadores = j.idJugadores AND idResultados = '2')) / 
                                    (select count(*) from Partidos_Jugadores WHERE idJugadores = j.idJugadores)) as promedio,
                                    (select sum(golesF) from Partidos_Jugadores WHERE idJugadores = j.idJugadores) as golesF,
                                    (select sum(golesC) from Partidos_Jugadores WHERE idJugadores = j.idJugadores) as golesC
                                    from Partidos_Jugadores pj, Jugadores j WHERE pj.idJugadores = j.idJugadores GROUP BY j.apodo ORDER BY promedio DESC, puntos DESC, jugados DESC, golesF DESC");
        return $query->result_array();
    }
    
    public function get_anio_descenso($anio) {
        $query = $this->db->query("select j.idJugadores, j.apodo, j.nombre, j.apellido, 
                                    (select count(*) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores AND idResultados = '1') as ganados, 
                                    (select count(*) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores AND idResultados = '2') as empatados, 
                                    (select count(*) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores AND idResultados = '3') as perdidos,  
                                    (((select count(*) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores AND idResultados = '1') * 3) +
                                    (select count(*) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores AND idResultados = '2')) as puntos, 
                                    (select count(*) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores) as jugados,
                                    ((((select count(*) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores AND idResultados = '1') * 3) +
                                    (select count(*) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores AND idResultados = '2')) / 
                                    (select count(*) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores)) as promedio,
                                    (select sum(golesF) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores) as golesF,
                                    (select sum(golesC) from Partidos_Jugadores pj2, Partidos p2 WHERE p2.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND p2.idPartidos = pj2.idPartidos AND idJugadores = j.idJugadores) as golesC
                                    from Partidos_Jugadores pj, Jugadores j, Partidos p WHERE p.fecha BETWEEN '$anio-01-01' AND '$anio-12-31' AND pj.idJugadores = j.idJugadores GROUP BY j.apodo ORDER BY promedio DESC, puntos DESC, jugados DESC, golesF DESC");

        return $query->result_array();
    }
}
?>
